#ifndef EVENTMANAGER_H
#define EVENTMANAGER_H

#include "inputeventmanager.h"
#include <vector>
#include "Delegate/delegate/delegates.h"
#include "Delegate/slot/slot.h"

#include <SDL/SDL.h>

/*!
 *  \brief Gère les événements, singleton utilisé par les classes ayant besoin de savoir si une touche est appuyé
 */

class EventManager
{
    public:

    EventManager();

    InputEventManager * inputE;                 /*!< Enregistre les états des entrées (clavier, souris etc) */

    std::vector<AbstractDelegate *> delegates;   /*!< Liste des événements à inspecter   */

    void CheckEvents();
    void AddEvent(AbstractDelegate *);


};

#endif // EVENTMANAGER_H
